home *** CD-ROM | disk | FTP | other *** search
- #
- # Filename: README
- # Created : Mon Sep 6 16:44:31 1993
- # Author : Don Yacktman <Don_Yacktman@byu.edu>
- # Vince DeMarco <vince@whatnxt.cuc.ab.ca>
- #
-
- This is a rewrite of the circular slider classes: Vince's CircularSlider
- palette and Don's RotationSlider palette. It provides more options than
- either palette had by itself and fixes a few minor bugs which were mostly
- seen in the rendering. (And probably introduces some new bugs... :*)
-
- If you make any interesting subclasses please let us about them; we'd
- love to add any useful subclasses in the MiscKit!
-
- Note that Don is the official maintainer of this palette; he is the one
- who performed the merge of the two palettes and knows the new code best.
- (In many ways it is very different from either of the two original
- classes, as it turns out.)
-
- -----
- -Don Yacktman
- Don_Yacktman@byu.edu
-
- vince demarco
- vince@whatnxt.cuc.ab.ca
-
-
- Carl Lindberg Wed Apr 19 22:09:01 EDT 1995
-
- Added support for borders - the control for them in the inspector
- works now. I also added a couple of more border types in there...
- These are controlled by a new instance var, 'borderType'. The
- methods -setBezeled and -setBordered no longer have any affect;
- use -setBorderType instead. It might be nice to have -setBezeled
- call -setBorderType:MISC_CSBEZEL, etc., but I haven't done that.
-
- Added support for background color, settable in a color well. If
- you want a transparent background, set this color to be transparent.
- You can set semi-transparent background colors, as well. (This
- required drawing border and background color to an NXImage, then
- compositing that, instead of directly drawing to the view.) If
- 'hidden' is checked, the only thing drawn will be the background
- color.
- **NOTE** There doesn't appear to be a way in IB's preferences to
- make the opacity slider (for alpha) appear in the color panel.
- If it is not there, you can't set a non-opaque color--it strips
- alpha from any color it gives out, even if you click one of those
- saved colors at the bottom. Since this prevented setting a
- slider to have a transparent background, the inspector's -init method
- will now force the opacity slider to appear, allowing alpha to be
- put in a color. Just so it's known we are doing this. :-)
-
- Added 'Jumps to mouse click' option in inspector. You could already
- do this in code, just not in the inspector. You also can now set the
- slider-style one to NOT jump to mouse click, though this makes
- little sense.
-
- Fixed bug in boundary checking. It used to depend on the normal values
- going from 0-360. You can now set them to whatever you want.
-
- Fixed bug when view was taller than it was wide. If you clicked near the
- bottom (where the slider appeared to be), it thought you clicked
- near the top and wouldn't do anything. If you clicked in the blank
- area around the top, well, THEN you could control the slider. Only
- a problem when view was flipped.
-
- Changed a couple of the pswrap functions. The shuttlewheel-style now
- figures its knob placement based on the circle center, radius, and
- sliderPathWidth. It used to use some other method that assumed 0,0
- as the origin, which is not always true with borders. The pswrap to
- draw the slider-style knob now draws it in the lower left corner,
- allowing the cached image to be exactly the size of the knob. This
- in turn allows for more precise placement. Before, there used to
- be some glitchiness on larger sliders of the knob going outside the
- slider path, leaving some stray pixels. You now need a ridiculously
- big slider to have this happen.
-
- Reorganized the code to something approaching sanity. This palette
- was originally a merging of two separate palettes, and the merging
- wasn't quite seamless yet. Now the drawing goes something like this:
-
- -drawSelf:inView: Draws the border and background color, sets
- a couple of instance vars, and
- calls -drawBarInside::
- -drawBarInside: Draws the background of the slider itself,
- either the slider path or outline circles,
- and calls -drawKnob:
- -drawKnob: Draws the piepiece/line/knob.
-
- Well, it makes sense to me anyways :-) There isn't any duplicate
- drawing code anymore.
- Various other things were tweaked along the way, mostly places where
- 0,0 was assumed as the origin, which changed with borders.
-
-
- Carl Lindberg Mon Jun 12 00:36:31 EDT 1995
-
- Added support for allowing specification of where the slider
- "starts" at, that is, the angle at which the minValue is shown.
- Previously, it was always on the right, except for the pie-style,
- which was at the top. The value specified is an angle from 0-360,
- with 0 being on the right hand side as before. A value of 90 will
- put the start at the top, 270 on the bottom. It would have actually
- been nice to have a circular slider set this value on the inspector
- panel, but I didn't think there was room. It's not completely
- obvious as it is, but I guess it'll do.
-
- Added support for specifying which direction values increase in,
- either clockwise or counterclockwise. Previously, it was always
- counterclockwise, except for the pie-style. Change this with
- the 'Goes clockwise' option; if not checked, the slider goes
- counterclockwise. Again, not the best way of specifying this,
- but it was the best way to fit it into the inspector.
-
- Modified the pie-style pswrap a bit to accomodate the above
- modifications. The pie-style slider used to give incorrect
- values, this seems to have been fixed by the above mods.
-